/*
清理副作用：
在组件被销毁时，如果有些副作用需要被清理，就可以使用此语法，比如常见的计时器
*/
import { useState, useEffect } from "react"
function Test () {
  useEffect(() => {
    //定时器
    let timer = setInterval(() => {
      console.log('定时器执行了')
    }, 1000)
    //清理定时器 return中执行清理的方法
    return () => {
      clearInterval(timer)
    }
  }, [])
  return (
    <div>
      test
    </div>
  )
}
function App () {
  const [flag, setFlag] = useState(true)
  return (
    <div className="App">
      {flag ? <Test /> : null}
      <button onClick={() => setFlag(!flag)}>开关</button>
    </div>
  )
}
export default App
